package rlex.classes;


public class Token {
	
	//token general types
	public static String LETTER = "letter";
	public static String NUMBER = "number";
	public static String SPECIAL_CHARACTER = "special";
	public static String IGNORE_CHARACTER = "ignore";
	public static String COMMENT = "comment";	
	public static String INVALID_CHARACTER = "invalid";
	
	//token subtypes
	public static String KEYWORD = "keyword"; 
	public static String IDENTIFIER = "identifier";
	public static String DELIMITER = "delimiter"; 
	public static String ALLOCATION = "allocation";
	public static String RELATIONAL = "relational"; 
	public static String ADDITIVE = "additive";
	public static String MULTIPLICATIVE = "multiplicative"; 
	public static String INTEGER = "integer";
	public static String REAL = "real";		
	public static String BOOLEAN = "boolean";
	public static String PROCEDURE = "procedure";
	public static String NONE = "none";

	//token syntatics
	public static String PROGRAM = "program";
	public static String ENDLINE = ";";
	public static String VAR = "var";
	public static String DOUBLENET = ":";
	public static String BEGIN = "begin";
	public static String END = "end";
	public static String OPEN_COMMENT = "(";
	public static String CLOSE_COMMENT = ")";
	
	private String name;
	private String type;
	private int line;
	
	public Token(String name, String type, int line) {
		this.name = name;
		this.type = type;
		this.line = line;
	}
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	public int getLine() {
		return line;
	}
	public void setLine(int line) {
		this.line = line;
	}
}
